package com.koron.ticket.operation.bean.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.bean.query.PageQuery;
import com.koron.common.core.config.ThreadLocalContext;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 操作票列表
 */
@Data
public class OperationTicketQueryDto extends PageQuery {

    @ApiModelProperty(value = "唯一id")
    private String id;

    /**
     * 状态
     */
    @ApiModelProperty(value="状态")
    private Integer status;

    /**
     * 状态
     */
    @ApiModelProperty(value="条件状态")
    private List<Integer> queryStatus;


    /**
     * 工作票类型
     */
    @ApiModelProperty(value="操作票类型")
    private String group;

    /**
     * 工作票子类型
     */
    @ApiModelProperty(value="操作票子类型")
    private String type;

    /**
     * 操作票票号
     */
    @ApiModelProperty(value="操作票票号")
    private String code;


    /**
     * 标题
     */
    @ApiModelProperty(value="标题")
    private String title;

    /**
     * 工作内容
     */
    @ApiModelProperty(value="工作票号")
    private String workCode;

    @ApiModelProperty(value="工作票id")
    private String workId;

    /**
     * 操作人名称
     */
    @ApiModelProperty(value="操作人名称")
    private String workerName;

    /**
     * 监护人名称
     */
    @ApiModelProperty(value="监护人名称")
    private String guardianName;


    /**
     * 操作票开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value="操作票开始时间")
    private Date startTime;

    /**
     * 操作票结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value="操作票结束时间")
    private Date endTime;

    /**
     * 操作票开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value="操作票开始创建时间")
    private Date startCreateTime;

    /**
     * 操作票结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value="操作票结束创建时间")
    private Date endCreateTime;

    @ApiModelProperty(value = "创建单位ID")
    private String deptId;

    /**
     * 开票单位名称
     */
    @ApiModelProperty(value="开票单位名称")
    private String deptName;

    @ApiModelProperty(value = "创建人账号")
    private String createBy;

    @ApiModelProperty(value = "创建人姓名")
    private String createByName;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createTime;

    @ApiModelProperty(value = "抽查结果 0 不合格、1合格、2未抽查")
    private Integer checkResults;

    @ApiModelProperty(value = "当前用户预览范围")
    private List<String> units;

    @ApiModelProperty(value = "当前用户登陆人", hidden = true)
    private String currBy = ThreadLocalContext.get().getAccount();

    private static final long serialVersionUID = 1L;

}
